package persistence.serialization;

import persistence.AllDAO;
import persistence.ContainerDAO;
import persistence.DataPersistenceFactory;
import persistence.ItemDAO;
import persistence.ProductContainerDAO;
import persistence.ProductDAO;
import persistence.ReportDAO;
import persistence.TransactionManager;

/**
 * Factory for serializable persistence objects
 * @author Sabrina
 *
 */
public class SerializePersistenceFactory implements DataPersistenceFactory {

	/**
	 * Constructor
	 */
	public SerializePersistenceFactory()
	{
		
	}
	/**
	 * @inheritDoc
	 */
	@Override
	public ItemDAO getItemDAO() {
		return new SerialItemDAO();
	}

	/**
	 * @inheritDoc
	 */
	@Override
	public ProductDAO getProductDAO() {
		return new SerialProductDAO();
	}

	/**
	 * @inheritDoc
	 */
	@Override
	public ContainerDAO getContainerDAO() {
		return new SerialContainerDAO();
	}

	/**
	 * @inheritDoc
	 */
	@Override
	public ProductContainerDAO getProductContainerDAO() {
		return new SerialProductContainerDAO();
	}

	/**
	 * @inheritDoc
	 */
	@Override
	public AllDAO getAllDAO() {
		return new SerialAllDAO();
	}

	/**
	 * @inheritDoc
	 */
	@Override
	public ReportDAO getReportDAO() {
		return new SerialReportDAO();
	}

	/**
	 * @inheritDoc
	 */
	@Override
	public TransactionManager getTransactionManager() {
		return new SerialTransactionManager();
	}
}
